home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 4
/
FM Towns Free Software Collection 4 - Disc 1.iso
/
fb386
/
egcg1
/
g48.bas
< prev
next >
Wrap
BASIC Source File
|
1991-10-18
|
1KB
|
50 lines
100 ' G48 T.WAKAMATSU
110 DIM A(11),B(11),C(11),D(6145),E(6145)
120 FOR I=1 TO 11
130 A(I)=0:B(I)=0:C(I)=1
140 NEXT I
150 N=1:J=0:CLS
160 V=190:W=335:X=190:Y=330
170 D(0)=V:E(0)=W:D(1)=X:E(1)=Y
180 LINE (V,W)-(X,Y),PSET,1
190 P=1:GOSUB *LINE:P=-1:GOSUB *LINE
200 '-------------------------------
210 J=J+1:IF J=11 THEN 310
220 A(J)=A(J)+1
230 IF A(J)=2 THEN A(J)=0:GOTO 210
240 K=B(J)+C(J)
250 IF K=0 OR K=2 THEN C(J)=-C(J)
260 P=-C(J):B(J)=1:GOSUB *LINE
270 P=1:GOSUB *LINE:P=-1:GOSUB *LINE
280 J=1:GOTO 220
290 '-------------------------------
300 GOSUB *WAIT
310 C1=3:C2=2
320 FOR J=1 TO N
330 IF J=N/2+1 THEN C1=4:C2=5:GOSUB *WAIT
340 IF J=N/4*3+1 THEN C1=7:C2=6:GOSUB *WAIT
350 LINE (D(J-1),E(J-1))-(D(J),E(J)),PSET,C1
360 LINE (D(N-J+1),E(N-J+1))-(D(N-J),E(N-J)),PSET,C2
370 NEXT J
380 GOSUB *WAIT
390 FOR J=1 TO N/2
400 IF J=N/2+1 THEN C1=4:C2=5:GOSUB *WAIT
410 IF J=N/4*3+1 THEN C1=7:C2=1:GOSUB *WAIT
420 LINE (D(J-1),E(J-1))-(D(J),E(J)),PSET,0
430 LINE (D(N-J+1),E(N-J+1))-(D(N-J),E(N-J)),PSET,0
440 NEXT J
450 GOTO 560
460 '-------------------------------
470 *LINE
480 S=(Y-W)*P+X:T=(V-X)*P+Y
490 V=X:W=Y:X=S:Y=T:N=N+1:D(N)=X:E(N)=Y
500 LINE -(X,Y),PSET,1
510 RETURN
520 '-------------------------------
530 *WAIT
540 FOR D=1 TO 7800:NEXT D
550 RETURN
560 CLS
570 FOR D=1 TO 2000:NEXT D
580 CD PAUSE